ATM network management

ABSTRACT

A management system for an ATM virtual path network in which the physical connections are provided by broadband links between ATM switches. The management system measuring current network load in individual links and virtual paths, and comprising sets of inter-communicating distributed agents for carrying out management in response to measured load and management requirements.

RELATED APPLICATIONS

This is a continuation-in-part of our earlier copending commonlyassigned application Ser. No. 08/730,004, filed Oct. 11, 1996 nowabandoned.

BACKGROUND OF THE INVENTION

The present invention concerns the performance management and trafficcontrol of what are known as asynchronous transfer mode (ATM) networks.

The arrival of broadband networks heralded by the introduction ofoptical fibres has substantially increased the range and nature of datawhich can be transmitted over telephone lines. Thus while some users maybe content with merely maintaining voice connections at constant bitrates, other users might wish to have access to other connection typessuch as video and data at variable bit rates. Thus users now require theability to select from a number of connection types in accordance withtheir needs. ATM networks have been developed to meet this demand. In atypical case a user can choose between three potential connection types,namely the already mentioned two megabit voice links, a variablebandwidth link peaking at 10 megabits and with a mean of 5 megabits, anda third variable bandwidth link peaking at 20 megabits and having a meanof 8 megabits. The second of these connection types can be used for highspeed data transfer and the third for the transmission of video images.It will however be appreciated that the present invention is not limitedto any particular set of connection types.

FIG. 1 of the accompanying drawings is a functional representation ofuser and service interaction in a typical ATM network environment. Layer100 represents the users and layer 101 represents suppliers who providedvalue added services to users. Layer 102 gives some examples of valueadded network services such as additional telephoning features,provision of video data, transfer of data files and the like, and layer103 shows the various functional layers of the actual ATM network.

The basic unit of an ATM network is the ATM switch. Such a switch willbe described in greater detail hereinafter but each switch supportsseveral hundred users and provides the requisite links between the usersand other ATM switches in the network. In order to maximise thepotential bandwidth available to users the telecommunications industryhas developed what are known as virtual path (VP) networks. VP networksdiffer in two ways from the traditional telephone network. In atraditional telephone network when a user wishes to access another usera fixed channel is established via the various nodes and switches andthis channel either has the ability to carry the data or not. In a VPnetwork each user is allocated a bandwidth appropriate to his assumedneeds in the various connection types and the ATM network managementprovides bandwidth by selecting a route from all of the available pathsin the network. Of course each user will have a usage pattern which willbe only partly predictable. It will be appreciated that it would beuneconomic to provide each user all the time with all of the maximumbandwidth that that user might require. Accordingly, in a VP network thesum of the nominal bandwidths allocated to the users connected in thenetwork is substantially greater than the total bandwidth of thenetwork. Thus if every user utilised its bandwidth to the maximum at thesame time the network would be unable to cope. Accordingly, a majorproblem with the management of ATM networks involving virtual paths isto balance the requirement to utilise the capacity of the network to itsmaximum whilst at the same time maintaining the quality of service (QoS)offered to the subscribers to the network. Fundamental attributes of QoSare delay, loss and delay variation.

When discussing ATM networks certain terms have become standard. Thus alink is an ATM transmission path which provides bandwidth betweentransmission end points. Normally such a link will be a fibre optic one.A number of transmission paths and transmission end points form thetransmission capability of the network which is provided to the virtualpath (VP) level. The transmission end points are ATM switches whichroute traffic over VP links.

A concatenation of VP links is terminated by VP connection end points toform VP connections which are simply called VPs in the remainder of thisspecification. VPs enable the ATM transport network to provide eitherteleservices to end users via the network service service suppliers atlayer 102. In each of these cases, a set of VPs are provided to the VClevel such that at this level, VPs are interconnected by VC links. Theresulting concatenation of VC links form a VC connection which are usedto transport these teleservices. Nodes, links and VP's can all beconsidered as network resources and in a typical network each isrepresented by a distributed object. Thus information concerning thenetwork can be obtained by calling function acting on these distributedobjects. The importance of this arrangement to the present inventionwill become apparent hereinafter.

More than one connection is usually used to provide an end-to-endservice association or call to a user/customer of the network. Each ofthe connections in a call have certain characteristics such as bandwidthutilisation profile and performance targets that it shares with otherconnections of the same type.

The performance management of a network layer can be broadly classifiedinto two groups—Network Resource Management (NRM) and Traffic ControlManagement (TCM). NRM deals with VP bandwidth management, VP routing,virtual channel (VC) routing strategies, VP and link load balancing, VPTopology Management and quality of service (QoS) verification. Howeverthe performance management in ATM networks is an extremely complexproblem due to many factors. Amongst these are the fact that each userhas the potential of a plurality of connection types and because of theVP model of the network the combination of the number of differentconnection types with the number of potential virtual paths between theATM switches in the network rapidly becomes extremely large. Adding tothe problem is the variability of the traffic characteristics andcontrols at many levels together with the necessity to plan ahead forsubstantially larger networks. Thus in an ATM network Virtual PathBandwidth Management (VPBM) is both a very important function and onewhich in practice is difficult to carry out.

In dealing with the above problems in VPBM, it must be borne in mindthat the theory of performance management functionality as part of anintegrated Telecommunications Management Network (TMN) using ATMswitches and virtual paths is in general not well understood. Thiscontrasts with the well-founded mathematical models such as queuingtheory, etc., for assessing and analysing the performance of orthodoxtelephone networks.

To summarise, virtual path bandwidth management as applied to ATMnetworks is a network management function which aims to ensure thatvirtual paths have the right size, allocation and route. Thedifficulties of carrying out this function include:

the vast number of virtual paths needed for future public ATM networksleading to a need for scalable algorithms and implementations;

impossibility of accurate traffic models for future services—ATMnetworks allow applications to produce traffic at continuously varyingrates preventing accurate models needed for optimal solutions andchanging business requirements. Thus, network providers want to be ableto easily modify how they control their networks. For example a providermay want to offer more reliable QoS, with corresponding lower networkutilisation, at premium times than at economy times. This requiresalgorithms for bandwidth tuning which can be adapted to change policies.Additionally there is a lack of accurate traffic models on which suchalgorithms can be based.

A known approach in dealing with the problem of monitoring traffic inATM networks and adaptively changing the bandwidths of VPs toaccommodate the required load of VCs is a centralised one in which forbandwidth allocation only the VP termination points are involved. Thetelecommunication management network (TMN) decides the bandwidthrequired and downloads this information to the VP termination points.However with increasing network sizes the computing power required tocarry out effective adaptation of the bandwidth allocation becomes toogreat and the time penalties involved become too severe to enable thenetwork to be updated except at relatively long intervals and with greateffort.

An article entitled “Fast VP-Bandwidth Measurement ith DistributedControl in ATM Networks” in IEICE Transactions on Communications, volE77-B, No 1, Jan. 1, 1994 pages 5-14 discloses a management system wherethe control is carried out within the switches. A similar switch basedsystem is disclosed in an article entitled “Serving Humanity ThroughCommunications”, Supercomm/ICC New Orleans, May 1-5, 1994, Institute ofElectrical and Electronics Engineers, pages 44-50.

Neither of these documents provides a solution to the problems set outhereinbefore.

The present invention is concerned with providing a solution to theabove problems. Thus one concern of the present invention is to providea system for managing bandwidth in an ATM network.

However a solution concerning bandwidth cannot by itself deal with allpotential problems of ATM management. A major problem can arrive whenthe distributed agents have to deal with the following situation. Thisis when for a particular link:

a) The link capacity has all been reserved by the VP's it carries.

b) All the VPs it carries are using all their reserved bandwidth.

c) One or more of those VPs require more bandwidth than their currentlyreserved bandwidth.

Thus the present invention is concerned with providing a genericapproach to a range of problems in ATM management.

In accordance with one aspect of the present invention there is provideda management system for an ATM virtual path network in which thephysical connections are provided by broadband links between ATMswitches, and comprising means for measuring current network load inindividual links and virtual paths, and sets of inter-communicatingdistributed agents for carrying out management in response to measuredload and management requirements.

In accordance with a second aspect of the present invention there isprovided a method of managing an ATM virtual path network in which thephysical connections are provided by broadband links between ATMswitches, and comprising measuring current network load in individuallinks and virtual paths, and utilising sets of inter-communicatingdistributed agents for carrying out management in response to measuredload and management requirements.

In order that the present invention may be more readily understoodembodiments thereof will now be described by way of example and withreference to the remainder of accompanying drawings, in which:

FIG. 1 is a functional representation of user and service interaction ina typical ATM network environment.

FIG. 2 is a diagrammatic representation of a basic ATM network;

FIG. 3 is a diagrammatic view of an ATM switch;

FIG. 4 is a diagrammatic representation of three intelligent agent typeswhich comprise a first embodiment of the present invention;

FIG. 5 shows flow diagrams of two rules which control the behaviour ofone of the agents shown in FIG. 4;

FIGS. 6A, 6B and 6C show flow diagrams of three rules which control thebehaviour of a second agent of the three agents shown in FIG. 4;

FIGS. 7A and 7B show flow diagrams of two rules which control thebehaviour of the third of the agents shown in FIG. 4;

FIG. 8 shows a sequence of messages used in tuning the bandwidth of avirtual path;

FIG. 9 is a diagrammatic representation of two intelligent agent typeswhich comprise a second embodiment of the present invention;

FIG. 10 is a flow diagram of a rule which controls the behaviour of oneof the agents of FIG. 9;

FIGS. 11 and 12 are flow diagrams of two rules which control thebehaviour of the second of the agents of FIG. 9;

FIGS. 13a and 13 b are network diagrams illustrating the operation ofthe agents of FIG. 9;

FIG. 14 is a sequence of messages used in system Topology Management;and

FIG. 15 is a sequence of messages in a third embodiment in whichbandwidth management and Topology Management operate in parallel.

Referring now to FIG. 2 of the accompanying drawings, this shows an ATMnetwork consisting of four ATM switches 1, 2, 3 and 4. In the presentembodiment high bandwidth links are provided between the switches byoptical fibres indicated at 5. It will be seen that switch 1 isconnected directly to switches 2 and 4 and also to switch 3, whilstswitches 2 and 4 are respectively connected to 1 and 3. As alreadymentioned, each switch will support several hundreds of users and eachuser in this embodiment has the potentiality of three differentconnection types with each connection type having a different bandwidthallocated by the VP bandwidth naturally. Thus in the present embodimenteach of the links 5 is capable of carrying the three differentconnection types which have already been discussed. The number and rangeof connection types can, of course, be varied. In the Figure numerals 50to 56 represent VPs carried over the links 5. VP56 can be considered asproviding a direct path between switches 2 and 4. In a physical senseVP56 passes through switch 3 but cannot terminate at switch 3. Thus ineffect it does provide a direct path between switch 2 and switch 4. Theprovision of VPCs of this type is a decision of the management functionand will depend on, for example, expected traffic volumes.

A management system is indicated at 6. This system comprises a pluralityof programmable computers 7 and communicates with the network via aninterface indicated at 8. This interface can comprise one or more VPs orvirtual circuits. The function of the programmable computers will bedescribed in greater detail hereinafter. It is conceivable that a singlecomputer can be used in the management system. The number and range ofconnection types can be varied.

As an immediate example of the complexity which can arise with muchlarger ATM networks, it will be appreciated that using by VPs a user atswitch 1 can access a user at switch 3 over a large number of differentlinks and that if even this simple network was increased by the additionof a single additional ATM switch the number of potential routes wouldincrease exponentially.

Referring now to FIG. 3 of the accompanying drawings, this shows thefunctional architecture of an ATM switch. The physical structures ofsuch switches are well-known in the art and extremely complex andaccordingly will not be discussed in detail. FIG. 3 shows switch 1linked to switch 2 of FIG. 2. A first user is indicated at 10, this userbeing physically linked to switch 1, and a second user is shown at 11,the second user being physically linked to switch 2. The physical linksbetween user 10 and switch 1 are terminated by a port 12, the physicallink between switch 1 and switch 2 is terminated by respective ports 13and 14 and the physical link between user 11 and switch 2 is terminatedby a port 15. Ports perform the function of line termination so that ATMcells arriving at a port are delivered to the switch and likewise thecells leaving the switch are delivered to the port for transmission. Asthe two switches are effectively identical only the functions availablein switch 1 will be described. Thus at the switch VP/VC switching iscarried out using appropriate routing tables in the figure the VP/VCswitching function is indicated at 20 and the routing tables areindicated at 21. The call handling functions of the switch comprisesignalling and routing strategies for VC routings and these are shown at22 and 23. The connection acceptance control function (CAC) is shown at24 and is responsible for accepting or rejecting a new connection ontothe network depending on the available capacity left in the network. Thesource policing (SP) function shown at 25 ensures that users do not goabove their contracted traffic volumes. Finally, the virtual pathmanagement (VPM) functions 26 of the switch are responsible for:

determining if there is sufficient bandwidth on a VP for a connection;

monitoring VP bandwidths thresholds so as to provide the data for VPtuning functions;

to allocate and de-allocate bandwidth at call set-up and call releasetime;

to respond to network management requests for creating and deleting VPsand for changing their properties such as bandwidth, etc.

In order to carry out these functions the switch is connected via a pathindicated at 28 to the management system 6.

In the switch shown in FIG. 3 it is assumed that the Synchronous DigitalHierarchy (SDH) will be used as the transport layer of the ATM networkbeing described. Thus in the embodiment being described the ATM cellsgenerated at the ATM layer will be loaded into appropriate SDH framesbefore being transmitted over SDH networks to the destination switch.Conversely, upon receiving SDH frames by SDH termination points they areunloaded into ATM cells and delivered to the ATM switching functions. InFIG. 3 the termination points 26 and 27 of the two switches are shown asbeing divided into ATM termination points and SDH termination points toindicate this shared functionality.

There are two stages which are followed when a user sets up a connectionor a call to another user. Firstly, using signalling, the user requestsa connection from the network. The network switch to which the user isconnected, in this case switch 1, using the call handling functions, VPMand CAC and by talking to other switches on the path to the destination,allocates a virtual circuit by giving it a VP and VC address andupdating the routing tables in the switches. In FIG. 3 the dotted linesVP1 and VP2 show a virtual circuit set up between the two end points asrepresented by the users. As these are virtual paths it will beappreciated that the actual physical links along which the data willpass from one user to another need not be the direct one between switch1 and switch 2.

Once a connection has been set up between the two end points asrepresented by the users individual ATM cells are sent from one user toanother. As cells enter the switch they are processed for switching. TheVP and VC address of a cell is picked up, and using the routing tablesin the switch, the destination port for that cell and the new VP and VCaddresses are determined. A new cell is created with the new VP and VCaddress and added to the output port.

Finally, when the user finishes the transmission of ATM cells, it asksthe network to end the connection using the signalling messages. Theswitches thus delete the connection from their routing tables etc. andtear down the connection.

Effectively the SDH layer will be transparent to the ATM switchingroutines.

In the embodiment of the invention being described no attempt is made toprovide a single algorithm or control function which is utilised by acentral management structure to control bandwidth allocation to thevirtual paths in order to match the allocated bandwidths to networkconditions and to management policy. Accordingly the present embodimentutilises a distributed set of autonomous objects, which will hereafterbe referred to as agents, in the programmable computers 7 located in themanagement system 6. Additionally in the present embodiment the agentshave been kept very simple by having no state and no learningcapability. One of the benefits of this simplicity is that the quantityand complexity of code required in the running of the system will besmall. The complexity of behaviour required to manage a large networkemerges from the interaction between the agents. In the presentembodiment a set of agents which dynamically tune the VP network basedon network performance measurements fall into three categories or sets.These three categories are diagrammatically represented in FIG. 4. Thefirst category of agent is shown at 30 and will be referred to as VPCbundle agents which are responsible for a set of VPCs and theirsupporting VP links. The second type of agent is shown at 31 and isreferred to as a link agent which is responsible for a physical link andthe third type of agent is shown at 32 and is referred to as acoordinator agent which is responsible for coordinating actions taken inresponse to a network condition to prevent the other agents fromperforming conflicting actions.

The behaviour of each of these three agents will now be described withregard to FIGS. 5, 6 and 7.

The first of the agents to be described is the VPC bundle agent 30. Thebehaviour of this agent is described by the two rules shown in FIG. 5 ofthe accompanying drawings. The first rule shown in FIG. 5 is rule 1 andthis rule fires at step 10 when new data arrives from the network.Essentially this rule detects if a problem is present and if this is thecase requests the assistance of a coordinator agent 32. At step 11 therule acts to find the VPC which is the most heavily utilised. At step 12the rule checks if the utilisation level of the most heavily utilisedVPC is over a predetermined threshold or not. If the answer is “Yes” aproblem does exist and a request is sent at step 13 to the coordinatoragent to find spare bandwidth. If the answer is “No” there is no problemand the rule ends with step 14.

Rule 2 of FIG. 5 fires if the VPC bundle agent 30 receives a request tochange the bandwidth of a VPC. Such a request is received at Step 20,carried out at Step 21 and the rule ends with Step 22.

The behaviour of the coordinator agent 32 is described by the threerules 3, 4 and 5 shown in FIG. 6 of the accompanying drawings. The firstrule in FIG. 6 is Rule 3 which fires at step 30 when new data isreceived from the network via a VPC bundle agent 30 in response to thatagent having received a positive answer at step 12 of Rule 1 and havingsent a request for spare bandwidth in accordance with step 13 of thatrule. In response to the received request for more bandwidth, thecoordinator agent determines at Step 31 whether or not it is free toassist. If it is free the coordinator agent obtains at Step 32 the linksthat the problem VPC traverses. Once the links have been obtained byStep 32 the coordinator agent queries the corresponding link agents toreport to it any available bandwidth. This is done in Step 33. Rule 3ends either with the decision at Step 31 that the coordinator is notfree or with the request to the link agents in Step 33. The terminationof the rule is shown at Step 34. The second rule associated with eachcoordinator agent is Rule 4 of FIG. 6 and this rule fires when thecoordinator agent receives an event stating how much bandwidth isavailable on a particular link. Step 41 of Rule 4 is a decision as towhether or not all of the link agents have reported their availablebandwidth. If all the agents do not report then the rule ends at Step45. However, if all agents have reported the next step, Step 42,involves a decision by the coordinator agent as to whether or not thebandwidth reported by the links is sufficient to solve the problem. Ifthe answer to Step 42 is “Yes” the coordinator agent asks the linkagents for instructions as to how the bandwidth can be recovered. Thisis shown in Step 44. If the answer at Step 42 is “No”, Step 43 sends afailure message to the VPC bundle agent of the problem VPC. In eithercase the rules end at Step 45. The third rule associated with thecoordinator agent 32 is Rule 5 and this rule fires at Step 50 when thecoordinator agent receives an event describing how to cover bandwidth ona link. Such an event is generated by the link agent in response to themessage generated at Step 44 of Rule 4. When all the links of the VPChave responded Step 51 proceeds with the coordinator agent sendinginstructions to the links to perform the actions which had been reportedat Step 51. This is shown at Steps 53 and 54. The rule ends at Step 52if all the links do not respond. Once the links have been instructed inSteps 53 and 54 a success message (Step 55) is sent to the appropriateVPC bundle agent 30 and the rule ends at Step 56.

The last of the three agents is the link agent 31. The behaviour of thisagent is described by the two rules 6 and 7 shown in FIG. 7.

Rule 6 fires at Step 60 when the link agent receives a request foravailable bandwidth sent by a coordinator agent in accordance with Step33 of Rule 3. At Step 61 the link agent calculates the availablebandwidth at Step 62 it compares the available bandwidth with a presetthreshold. If the answer is that more bandwidth is available, the linkagent sends at Step 63 a message to this effect to the coordinator. Thiscorresponds to the link agent fulfilling the requirement for Step 51 ofRule 5. If no more bandwidth is available the rule sends that message atStep 64 to the coordinator. The rule ends at Step 65.

The second rule covering the behaviour of a link agent 31 is Rule 7.This rule fires at Step 70 when the link agent receives a request tofree up an amount of bandwidth, this request corresponding to Steps 53and 54 of Rule 5. At Step 71 the link agent calculates the bandwidth tobe released and at Step 72 sends to the appropriate coordinator agent 32an instruction concerning the amount of bandwidth to be released. Rule 7ends at Step 73.

FIG. 8 of the accompanying drawings is a diagram showing the temporalsequence and paths between the agents of messages sent during the tuningof bandwidths for a VPC.

There are ten basic messages which are used to carry out this tuning.These messages are:

(1) Find_Spare_Bandwidth(VPC_(problem))—a request to the coordinator tofind the spare bandwidth for VPC_(problem)

(2) Get_Available_BW(link)—get the available bandwidth on link.

(3) Available_bandwidth(b/w)—returns the bandwidth available on a link.

(4) How_to_release BW(link,BW_(min))—get instructions on how to releasebandwidth, BW_(min), on link.

(5) Reduce_BW_inst(link,BW,instructions)—instructions on how to reducethe bandwidth by BW on link.

(6) Reduce_BW(VPC,BW)—instruct VPC bundle to reduce the bandwidth on VPCby BW.

(7) Increase_BW(VPC_(problem,)BW)—instruct VPC bundle to increase thebandwidth of VPC_(problem) by BW.

(8) no_available_bandwidth—sent by link agent to inform coordinator thatno bandwidth is available.

(9) Success—inform VPC bundle agent of successful resolution of problem.

(10) failure—inform VPC bundle agent of failure to resolve problem.

As will be appreciated from the foregoing the individual agents have nostate and no learning capability.

In the management system which has just been described scaleability isachieved by adding agents as appropriate. Thus as a physical link isadded to the network a link agent responsible for that link is addedeither to one of the computers in the management system or by theaddition of a further computer. Similarly as the size of the networkincreases VPC bundle and coordinator agents can be added as appropriateusing either computers already forming part of the management system orby adding further computers. It will also be appreciated that thecomputers may be either partly or totally replaced by purpose-builtintegrated circuits. This would of course cause a reduction inflexibility.

The ability to scale in this manner is based on the simple rule-basednature of the three sets of agents.

As already mentioned in the preamble of this specification, the systemjust described cannot deal with what has been defined as a VP Topologyproblem. A management system which is capable of working in parallelwith the system of FIGS. 1 to 8 to solve VP Topology problems will nowbe described with reference to FIGS. 9 to 15.

As in the system of FIGS. 1 to 8 the VP Topology Problem ManagementSystem employs distributed agents. Also the physical connection andswitches of the system are similar to those described with reference toFIGS. 2 and 3 so that the VP Topology Problem Management System residesin the plurality of programmable computers 7 shown in FIG. 2. The VPTopology Problem Management System, as with the previously describedsystem for controlling bandwidth allocation, utilises a distributed setof autonomous agents in the programmable computers 7. As in the previousembodiment the agents have been kept very simple by having no state andno learning capacity. In the present embodiment it utilises two agenttypes 200, 201 illustrated in FIG. 9 of the accompanying drawings. Theagent type indicated at 200 will hereinafter be referred to as a monitoragent and the agent type 201 will hereinafter be referred to as a VPagent.

The number of monitor agents will be in this embodiment the same as thenumber of links in the network and each monitor agent 200 is responsiblefor identifying a VP Topology problem and then notifying appropriate VPagents 201 to deal with the identified problem. Thus each monitor agentmonitors its link and the VPs that use the link for the conditions thatindicate a problem.

The behaviour of a monitor agent 100 is described by the rule shown inFIG. 10.

Referring now to FIG. 10, the rule governing the behaviour of a monitoragent 200 will be referred to as Rule 8 and fires at Step S100 when newdata arrives from the link being monitored by the agent. At Step S101the rule acts to calculate the utilisation levels of the link. This isdone by calculating the sum of the bandwidth allocated to the VPs usingthe link. If this sum is equal to, or exceeds a predetermined threshold,then a VP Topology problem is identified. This is shown at Step S102.The actual process carried out by the monitor agent 201 at step S101 isas follows.

Call Acceptance Control (CAC) as shown at 24 in FIG. 3 is responsiblefor accepting or rejecting a new connections onto the network dependingon the capacity left in the network. Each connection type has anassociated ‘effective bandwidth’ which is the amount of bandwidth theCAC allows for an actual connection of that type. When a new connectionrequests use of a VP, CAC subtracts the sum of the effective bandwidth'sfor active calls on the VP from the bandwidth that has been reserved forit on the links it traverses. Each VPC has a ‘load factor’ which saysthat the CAC should only accept calls up to a certain utilisation. Ifthere is enough spare effective bandwidth, after taking any load factorinto account, the connection is accepted.

As already described, each VP may carry a number of different connectiontypes, with different effective bandwidths. The monitor agent thresholdis set by calculating the effective bandwidth for each VP carried by alink above which the next connection request may be rejected. Thesebandwidths are summed to find the maximum effective bandwidth that couldbe allocated. A management policy will then decide a point below this toset as the threshold to trigger a Topology problem.

EXAMPLE

Link Capacity 155 Mbs

Carries two VPCs;

VPC1 reserved bandwidth l00 Mbs load factor 0.9 connection types conn1conn2 VPC2 reserved bandwidth 55 Mbs load factor 0.8 connection typesconn3

Conn1 effective bandwidths 5 Mbs

Conn2 effective bandwidths 7 Mbs

Conn3 effective bandwidth 3 Mbs

Max effective bandwidth for VPC1

100*0.9=90 Mbs available for connections

For simplicity the largest effective bandwidth which is 7 Mbs is chosen

90/7=12.9, so 12 connections can be accepted.

The maximum effective bandwidth for VPC1 before the next request may berejected (if Conn2) is

12*7=84 Mbs

Similarly, for VPC2 the maximum effective bandwidth before the nextrequest may be rejected is

42 Mbs

The maximum effective bandwidth for the link is 42+84=126 Mbs.

In the present embodiment management policy decides to trigger TopologyManagement when total effective bandwidth reaches 90% of this figure. Sothe actual threshold in this example is 126*0.9=113 Mbs. Thus thethreshold is based on the sum of the maximum bandwidths that may beallocated to the connections for each VP.

If a problem is present the monitor agent notifies at Step S103 each ofthe VP agents 201 which are associated with a VP which uses the problemlink and the other VP agents concerned with the problem. As mentionedpreviously in the present specification each network resource isrepresented by a distributed object. Each object representing a link hasa reference to the objects representing the VP's that it carries. Inturn each of these objects has a reference to the VP agents that have aninterest in them. Each VP agent 201 represents a VP for a particularQuality of Service (QoS). When it is informed of a VP Topology problemit works with any other VP agents that have been notified of thisproblem to try and make capacity available on the problem link.

The behaviour of each VP agent 201 is described by the rules illustratedin FIGS. 11 and 12. Thus FIG. 11 illustrates a Rule 9 which is triggeredwhen a VP agent 201 receives a VP Topology problem message in responseto a signal from a monitor agent 200 sent in response to a “YES” outputat Step 203 in previously described Rule 8. Thus Rule 8 is triggered atStep S110 when the VP agent 201 receives a notification that a VPTopology problem is present. At Step S111 Rule 8 carries out a series offunctions which can be categorised as “preparing a bid”. The agentprepares the bid by searching for a new route through the network thatavoids the problem link and has appropriate spare capacity in all thelinks it will traverse. The bid is a numerical score based on thebandwidth that will be moved and the amount of spare capacity along thenew route. If no route can be found a score guaranteed never to win willbe produced. At Step S112 the VP agent sends its bid to all the other VPagents which were notified by the monitor agent 200 that a VP Topologyproblem existed.

FIG. 12 illustrates Rule 10. This rule is triggered at Step S120 when abid is received from another agent. At Step S121 the bid is recordedalong with any other bid which has been generated by any other VP agentinvolved in the problem and which had been notified by the monitor agent200 of the problem. When all bids have been received and recorded the VPagent can determine if its bid is best. This is illustrated at StepS122. If all the bids have been received the rule proceeds to Step S123where the agent determines if its bid is the best. If its bid is not thebest it again takes no further action. If the VP agents own bid is thebest it then implements a set of actions to create a bypass for the linkwhich caused the initial problem.

This is done at Step S124 and comprises the steps of:

a) Creating a set of virtual links to support the new virtual pathconnection.

b) Creating the new virtual path connection over the virtual path links.

c) Modifying routing tables 21 which form part of the ATM switchdescribed with reference to FIG. 3 of the drawings.

d) Watching for all existing connections on the old VPC to complete.

e) Removing the old VPC.

The results of these operations are illustrated in FIGS. 13A and 13B inwhich FIG. 13A shows a network configuration when a VP Topology problemhas arisen and FIG. 13B shows the results of the activity of the alreadydescribed Monitor and VP agents. The network shown in FIGS. 13A and 13Bis similar to that shown in FIG. 2. It will be seen that the links whichhad been generally indicated at 5 in FIG. 2 are now individuallynumbered 5(1), 5(2), 5(3), 5(4) and 5(5).

As shown in FIG. 13A link 5(1) consists of 2 VPCS, VPC1 and VPC2.

In FIG. 13A the following conditions exist in the network when data isfirst read:

VPC1 is using all its reserved bandwidth.

VPC2 requires more than its allocated bandwidth.

LINK 1 has had all its capacity allocated to VPC1 and VPC2.

LINK 2 and LINK 3 have spare capacity.

It is assumed in this figure that there is one VPC Bundle agent 30 t hatha ndles all the VPCs for Bandwidth Tuning. The Bandwidth managementsystem tries to increase the bandwidth of VPC2 but fails because thereis no spare capacity. The Topology management system identifies theproblem and replaces VPC1 with VPC1′ that uses LINK 3 and LINK 2 as hasbeen already described with regard to FIGS. 13a 13 b and 14.

FIG. 14 shows the temporal sequence of messages between the monitoragent (200) which monitors link 5(1) of FIG. 13A and the two VP agents(201) responsible for VPC1 and VPC2 respectively.

In the diagram of FIG. 14 the relationship between the Rules 8, 9 and 10and the monitor and VP agents is shown by using the step numberstogether with the number of the relevant rule as combined numbers. Aswith FIG. 8 the passage of time is indicated in the downwards direction.

Thus the first action in FIG. 14 is the monitor agent reading data fromthe link 5(1) in accordance with Step S100 of Rule 8. Next in accordancewith Step S101 of Rule 8 the existence of a VP Topology problem isnotified to the respective VP agents representing VPC1 and VPC2respectively. In practice these two notifications would be virtuallysimultaneous. On receipt of the notification of a problem the two VPagents carry out the steps of Rule 9 and in particular send outrespective bids at S112(9) to each other. In the illustration of FIG. 14the bid of the VP agent for VPC1 wins and as a result the winning bid isimplemented at S124(10).

The result of the implementation is shown in FIG. 13B. VPC1 has beendeleted and replaced by VPC1′ the physical path of which passes via ATMswitch 3 but as was explained with regard to VPC 56 of FIG. 2 cannotterminate at switch 3. Once the new VPC (VPC1′) has been created (asshown in 13B) data about it will start to arrive from the network.Similarly when the old VPC (VPC1) has been deleted data about it will nolonger arrive from the network. It will be apparent that the TopologyManagement System just described is capable of operating independentlyof the bandwidth management system described with respect to FIGS. 1 to8 and that the converse is also applicable. However it is preferred forthe two systems to operate in parallel. In this embodiment the agentsdescribed will all reside in the general purpose computers 7 of FIG. 2.It is thus essential that the agents shown in FIG. 4 are capable oftaking the changes caused by the Topology Management System intoaccount.

The division of the Topology Management system into monitor and VPagents makes the system more robust since the failure of a VP agent willonly means that it is not involved in problem solution. VP agent failureis detected by having a time period in which all bids must be received.If VP agent's bid is not received in this time period then it isexcluded from the problem but the problem can still be solved by theother VP agents. If there were a controller agents that received thesebids to make the decision and this controller agent failed then theproblem could not be solved.

Thus whilst the Topology Management system could incorporate centralcontroller but the more distributed control mechanism just describedprovides greater security in generation for the reasons just given.

FIG. 15 of the accompanying drawings is an illustration of the parallelworking of the bandwidth of Topology Management Systems and iseffectively a combination of FIG. 8 and of FIG. 14 with the bandwidthmanagement system slightly simplified in that only a single link agent31 is shown.

In the temporal sequence the bandwidth management system reads thenetwork data at T₀ and the Topology Management System reads the networkdata at T₁. Bandwidth management fails at T₂; Topology Management altersthe network at T₃ by replacing VPC1 by VPC1′; Bandwidth management readsthe new network data at T₄ with successful tuning indicated at T₅.Further readings by both management sub-systems at T₆ and T₇ indicate nofurther problems.

It will also be apparent that the two management systems can operateover different timescales and that there is no need for there to be aspecific integration of these timescales. Thus the two systems canoperate entirely independently provided that changes in the networkconfiguration are recognised by the two systems.

What is claimed is:
 1. A management system for an ATM virtual pathnetwork having a plurality of physical connections in which saidphysical connections are provided by broadband links between ATMswitches, and comprising electronic data processing means connectable toindividual ATM switches in said ATM virtual path network and fordetermining current network load in individual broadband links andvirtual paths of the network, said electronic data processing meansproviding first, second and third sets of inter-communicatingdistributed agents for carrying out management of the ATM switches inthe system in response to measured load and management requirements,wherein each agent of said first set is associated with the virtualpaths and is adapted to respond to a lack of bandwidth in one of itsassociated virtual paths to generate a request to an agent of said thirdset to obtain bandwidth.
 2. The management system according to claim 1,wherein each one of said third set of agents is adapted in response to arequest from an agent of said first set to request information regardingthe availability of bandwidth on one or more physical links from agentsof said second set associated with the physical links, each agent ofsaid second set responding to a request from an agent of said third setby sending to said agent of said third set information defining theavailability of bandwidth on its associated link.
 3. The managementsystem according to claim 2, wherein in response to bandwidthinformation received from each agent of said second set said agent ofsaid third set is adapted to instruct each agent of the second set howbandwidth is to be released.
 4. The management system according to claim3, wherein each of said second set agents so instructed by an agent ofsaid third set is adapted to calculate a bandwidth to be released inresponse to the request and to send to the agent of said third set ofdistributed agents an instruction concerning the bandwidth to bereleased.
 5. The management system according to claim 4, wherein inresponse to the instructions received from each agent of said second setthe agent of said third set is adapted to instruct an agent of saidfirst set of agents which made said request to increase bandwidth tomeet its requirements and instructs the agent of said first set ofagents associated with the second set of agents which carried outbandwidth calculations.
 6. The management system according to claim 1and adapted to carry out VP topology management of the ATM virtual pathnetwork, and wherein the distributed agents comprise means formonitoring the links of the ATM network, means for determining if abandwidth problem exists over one of the broadband links, means fornotifying a plurality of means associated with virtual paths in thenetwork and each adapted to identify a new route through the networkthat both avoids the one of the broadband links having a bandwidthproblem and has spare capacity, and means for selecting the new routeidentified and creating a new set of virtual path connections over abroadband link or a number of broadband links of the network.
 7. Themanagement system according to claim 6, wherein said monitoring meansare adapted to calculate the source of bandwidth allocated to virtualpath connections which constitute the broadband link, to compare theallocated bandwidth with a predetermined threshold, and to notify themeans associated with the virtual paths of the broadband link if aproblem exists.
 8. The management system according to claim 7, whereinsaid monitoring means comprise a plurality of distributed monitoringagents, there being a monitoring agent for each link.
 9. The managementsystem according to claim 8, wherein the means associated with thevirtual paths comprise for each virtual path a distributed virtual pathagent.
 10. The management system according to claim 9, wherein eachvirtual path agent is adapted to generate on receipt of notification ofthe problem by the monitoring agent a bid based on bandwidths to bemoved and the amount of spare capacity along the new route after avirtual path agent has identified a route, a virtual path agentselecting the route in response to a best bid generated.
 11. Themanagement system according to claim 10, wherein each virtual path agentis adapted to send a bid to each virtual path agent notified by themonitor agent, and the means for selecting the route in the virtual pathagent which generates the best bid.
 12. The ATM network managementsystem as in claim 1 further comprising a bandwidth management system,wherein the first, second and third sets of inter-communicatingdistributed agents comprise a first set of agents for the virtual pathsof the network, a second set of agents responsible for said physicallinks, and a third set of agents for handling performance events andadapted to carry out VP topology management of the ATM virtual pathnetwork, and wherein the distributed agents comprise means formonitoring the links of the ATM network, means for determining if abandwidth problem exists over a link, means for notifying a plurality ofmeans associated with said virtual paths in the network and each adaptedto identify a new route through the network that both avoids the linkhaving the bandwidth problem and has spare capacity, and means forselecting the route identified and creating a new set of virtual pathconnections over a broadband link or a number of broadband links of thenetwork.
 13. A method of managing an ATM virtual path network having aplurality of physical connections in which said physical connections areprovided by broadband links between ATM switches, and comprisingelectronic data processing means connectable to individual ATM switchesin said ATM virtual path network and for determining current networkload in individual links and virtual paths of the network, saidelectronic processing means providing three sets of inter-communicatingdistributed agents for carrying out management of the ATM switches inthe virtual path network in responses to measured load and managementrequirements, the agents comprising a first set of distributed agentsfor the virtual paths of the network, a second set of distributed agentsresponsible for physical links, and a third set of distributed agentsfor handling performance events, and wherein said each agent of saidfirst set of distributed agents is associated with a plurality ofvirtual paths and responds to a lack of bandwidth in one of itsassociated virtual paths to generate a request to an agent of said thirdset of distributed agents to obtain bandwidth.
 14. The method accordingto claim 13, wherein each one of the third set of distributed agentsresponds to a request from a first set agent to request informationregarding the availability of bandwidth on one or more physical linksfrom the agents of said second set of distributed agents associated withthe physical links, each of said second set of distributed agentsresponding to a request from an agent of said third set of distributedagents by sending to the agent of said third set information definingthe available bandwidth.
 15. The method according to claim 14, whereinin response to bandwidth information received from each of said agentsof said second set of distributed agents, an agent of said third set ofdistributed agents instructs each of the agents of said second set ofdistributed agents how bandwidth is to be released.
 16. The methodaccording to claim 15, wherein each agent of said second set ofdistributed agents so instructed by an agent of said third set ofdistributed agents calculates the bandwidth to be released in responseto the request and sends to the third set agent an instructionconcerning the amount of bandwidth to be released.
 17. The methodaccording to claim 16, wherein in response to the instructions receivedfrom each agent of said second set the agent of said third set instructsthe agent of said first set which made said request to increasebandwidth to meet its requirements and instructs the agent of said firstset associated with the agent of said second set which carried outbandwidth calculations to reduce bandwidth.
 18. A method of managing anATM virtual path network in which the physical connections are providedby broadband links between ATM switches, and comprising measuringcurrent network load in individual links and virtual paths, andutilizing sets of inter-communicating distributed agents for carryingout management of the network in response to measured load andmanagement requires, comprising monitoring the links of the ATM networkand determining if a bandwidth problem exists over a link, notifying aplurality of virtual path agents associated with virtual paths in thenetwork said virtual paths agents each identifying new routes throughthe network that both avoid the link having the bandwidth problem andhave spare capacity, and creating a new set of virtual path connectionsover a broadband link or a number of broadband links of the network. 19.The method according to claim 18, wherein said monitoring is carried outby a plurality of distributed monitor agents each adapted to calculate asum of bandwidth allocated to an actual virtual path which constitutesthe broadband link, to compare the sum with a predetermined threshold,and to notify agents of the virtual path if a problem exists.
 20. Themethod according to claim 19, wherein said monitoring is performed by aplurality of distributed monitoring agents, there being a monitoringagent for each link.
 21. The method according to claim 20, wherein eachvirtual path agent on receipt of notification of the problem by themonitoring agent generates a bid based on a bandwidth to be moved andthe amount of spare capacity along a new route after the agent of theactual virtual path has identified a route; the virtual path agentselecting a best route doing so in response to bids so generated.
 22. Atopology management system for an ATM virtual path network having aplurality of physical connections in which the physical connections areprovided by broadband links between ATM switches, and comprisingelectronic data processing means connectable to individual ATM switchesin said ATM network, and providing sets of inter-communicatingdistributed agents for carrying out management of the ATM switches inthe system in response to measured load and management requirements, andwherein said sets of inter-communicating distributed agents comprise afirst set of monitor agents, each agent being associated with anindividual link and being adapted: a) to monitor bandwidth of itsassociated link so as to identify bandwidth problems in the associatedlink; and b) to generate a signal notifying a bandwidth problem, and asecond set of virtual path agents each associated with a virtual patheach virtual path agent being adapted to receive from monitor agentssignals notifying bandwidth problems, and wherein each virtual pathagent is adapted on receipt of a notification of a problem from amonitor agent: c) to create a potential new route; d) to generate a bid,the bid being based on the bandwidth to be moved to create the new routeand the capacity of the new route once the bandwidth has been moved; e)to compare bids received from other virtual path agents which have beennotified of the problems by other monitor agents; f) to select a bestbid; and g) to generate instructions for the creation of the new route.23. A management system for an ATM virtual path network having aplurality of physical connections in which the physical connections areprovided by broad band links between ATM switches; and comprisingelectronic data processing means connectable to individual ATM switchesin said ATM virtual path network, said electronic data processing meansproviding sets of inter-communicating distributed agents for carryingout management of the ATM switches in response to load and managementrequirements; and wherein there are first, second and third sets ofdistributed agents provided by said electronic data processing means forcarrying out bandwidth management said broadband links of the system;and wherein: a) each agent of said first set is associated withplurality of virtual paths and is adapted to respond to a lack ofbandwidth in one of its associated virtual paths to generate a requestto an agent of said third set to obtain bandwidth; b) each agent of saidsecond set is associated with the physical links of the network; c) eachone of said third set of agents is adapted in response to a request froman agent of said first set to request information regarding theavailability of bandwidth on one or more of said physical links from theagents of said second set associated with the physical links, each agentof said second set responding to a request from an agent of said thirdset by sending to the agent of said third set information definingavailability of bandwidth on its associated link; and d) wherein inresponse to bandwidth information received from each of the agents ofsaid second set the agent of said third set is adapted to instruct eachof the agents of said second set how bandwidth is to be released. 24.The management system according to claim 1, wherein once initialparameters have been set, the system operates entirely in response tomeasured load and management requirements.
 25. The management systemaccording to claim 1, wherein the first, second, and third set ofinter-communicating distributed agents have no state and no learningcapability.
 26. A method according to claim 13, wherein once initialparameters have been set the management of the network operates entirelyin response to measured load and management requirements.
 27. A methodaccording to claim 13, wherein the first, second, and third set ofinter-communicating distributed agents have no state and no learningcapability.
 28. In an ATM virtual path network having a plurality ofvirtual paths, a plurality of ATM switches communicatively coupled toeach other via physical connections provided by a plurality of broadbandlinks, a method of managing the virtual path network comprising:measuring current network load in individual broadband links and saidvirtual paths; utilizing inter-communicating distributed agents forcarrying out network management in response to measured network load;monitoring the plurality of broadband links to identify a selectbroadband link having a bandwidth problem; notifying to a plurality ofvirtual path agents associated with the virtual paths the selectedbroadband link; and enabling each of the -virtual path agents toidentify and create new routes through the virtual path network over oneor more of the broadband links, having spare capacity, bypassing theselected broadband link.
 29. In an ATM virtual path network having aplurality of virtual paths, a plurality of ATM switches communicativelycoupled to each other via physical connections provided by a pluralityof broadband links, a system for managing the virtual path network,comprising: electronic data processing means connectable to individualATM switches for determining current network load in individualbroadband links and virtual paths of the network; first, second andthird sets of inter-communicating distributed agents for carrying outmanagement of the ATM switches in response to measured load andmanagement requirements; and wherein each agent of said first set ofdistributed agents is associated with the plurality of virtual paths,said agent of the first set is adapted to respond to a lack of bandwidthin one of its associated virtual paths to generate a request to an agentof said third set of distributed agents to obtain bandwidth.